package study;

import java.util.Arrays;

/**
 * 正则表达式
 *
 * String类的方法
 * public boolean matches(String regex)     匹配参数regex指定的正则表达式，匹配成功则返回true，否则返回false
 * public String replaceAll(String regex, String s)    匹配当前字符串满足正则表达式regex的部分并将其替换为字符串s
 * public String[] split(String regex)      将当前字符串满足正则表达式的部分进行拆分，并返回拆分之后的String数组
 * */
public class RegularExpression {
    public static void main(String[] args) {
        String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";     // 邮箱正则表达式
        String email = "wangkj@tedu.c4n";
        boolean match = email.matches(regex);
        if (match)
            System.out.println("是正确的邮箱格式");
        else
            System.out.println("错误的邮箱格式");

        String str = "fbiege553wuoupq7窝草hbnm443fqhio434ge44bib44bik";
        String[] strings = {"bi", "窝草", "hb"};
        for (String reg : strings)
            str = str.replaceAll(reg, "**");
        System.out.println(str);
        String[] strs = str.split("[0-9]+");
        System.out.println(Arrays.toString(strs));
        str = ".192.168.3......2........";
        strs = str.split("\\.");
                /**
                 * 最开始就是可拆分项，则拆分结果数组中的第一个元素是空字符串
                 * 如果连续n个（n>=2）可拆分向，那么中间也会拆出(n-1)个空字符串
                 * 如果末尾连续多个可拆分项，那么拆出的空字符串被忽略
                 * */
        System.out.println(Arrays.toString(strs));
    }
}
